/**************************************************************************************
*
*	Copyright (C) 2010 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	GraphicsTypesMapping.h
*
*	Description -	Graphics types mapping from string to enum types and vice-versa. 
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	06/25/2013	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_GRAPHICS_TYPES_MAPPING_H_
#define _PSX_GRAPHICS_TYPES_MAPPING_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"

namespace Pulse
{
	class GraphicsTypesMapping
	{
	public:

		static EFillMode::Type ToFillMode( const CHAR *pType );
	
		static ECullMode::Type ToCullMode( const CHAR *pType );

		static EBlendType::Type ToBlendType( const CHAR *pType );

		static EBlendOp::Type ToBlendOp( const CHAR *pType );

		static BYTE ToColorWriteMask( const CHAR *pMask );

		static EDepthWriteMask::Type ToDepthWriteMask( const CHAR *pMask );
	
		static EComparisonFunc::Type ToComparisonFunc( const CHAR *pFunc );

		static U8 ToStencilReadMask( const CHAR *pMask );

		static U8 ToStencilWriteMask( const CHAR *pMask );

		static EStencilOp::Type ToStencilOp( const CHAR *pOp );
	};
}

#endif /* _PSX_GRAPHICS_TYPES_MAPPING_H_ */